package com.atguigu.crowd.entity.po;

import java.util.ArrayList;
import java.util.List;

public class LandScheduleExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public LandScheduleExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSourceIdIsNull() {
            addCriterion("source_id is null");
            return (Criteria) this;
        }

        public Criteria andSourceIdIsNotNull() {
            addCriterion("source_id is not null");
            return (Criteria) this;
        }

        public Criteria andSourceIdEqualTo(String value) {
            addCriterion("source_id =", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotEqualTo(String value) {
            addCriterion("source_id <>", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThan(String value) {
            addCriterion("source_id >", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThanOrEqualTo(String value) {
            addCriterion("source_id >=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThan(String value) {
            addCriterion("source_id <", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThanOrEqualTo(String value) {
            addCriterion("source_id <=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLike(String value) {
            addCriterion("source_id like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotLike(String value) {
            addCriterion("source_id not like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdIn(List<String> values) {
            addCriterion("source_id in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotIn(List<String> values) {
            addCriterion("source_id not in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdBetween(String value1, String value2) {
            addCriterion("source_id between", value1, value2, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotBetween(String value1, String value2) {
            addCriterion("source_id not between", value1, value2, "sourceId");
            return (Criteria) this;
        }

        public Criteria andLandNoIsNull() {
            addCriterion("land_no is null");
            return (Criteria) this;
        }

        public Criteria andLandNoIsNotNull() {
            addCriterion("land_no is not null");
            return (Criteria) this;
        }

        public Criteria andLandNoEqualTo(String value) {
            addCriterion("land_no =", value, "landNo");
            return (Criteria) this;
        }

        public Criteria andLandNoNotEqualTo(String value) {
            addCriterion("land_no <>", value, "landNo");
            return (Criteria) this;
        }

        public Criteria andLandNoGreaterThan(String value) {
            addCriterion("land_no >", value, "landNo");
            return (Criteria) this;
        }

        public Criteria andLandNoGreaterThanOrEqualTo(String value) {
            addCriterion("land_no >=", value, "landNo");
            return (Criteria) this;
        }

        public Criteria andLandNoLessThan(String value) {
            addCriterion("land_no <", value, "landNo");
            return (Criteria) this;
        }

        public Criteria andLandNoLessThanOrEqualTo(String value) {
            addCriterion("land_no <=", value, "landNo");
            return (Criteria) this;
        }

        public Criteria andLandNoLike(String value) {
            addCriterion("land_no like", value, "landNo");
            return (Criteria) this;
        }

        public Criteria andLandNoNotLike(String value) {
            addCriterion("land_no not like", value, "landNo");
            return (Criteria) this;
        }

        public Criteria andLandNoIn(List<String> values) {
            addCriterion("land_no in", values, "landNo");
            return (Criteria) this;
        }

        public Criteria andLandNoNotIn(List<String> values) {
            addCriterion("land_no not in", values, "landNo");
            return (Criteria) this;
        }

        public Criteria andLandNoBetween(String value1, String value2) {
            addCriterion("land_no between", value1, value2, "landNo");
            return (Criteria) this;
        }

        public Criteria andLandNoNotBetween(String value1, String value2) {
            addCriterion("land_no not between", value1, value2, "landNo");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsIsNull() {
            addCriterion("anwser_starts is null");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsIsNotNull() {
            addCriterion("anwser_starts is not null");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsEqualTo(String value) {
            addCriterion("anwser_starts =", value, "anwserStarts");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsNotEqualTo(String value) {
            addCriterion("anwser_starts <>", value, "anwserStarts");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsGreaterThan(String value) {
            addCriterion("anwser_starts >", value, "anwserStarts");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsGreaterThanOrEqualTo(String value) {
            addCriterion("anwser_starts >=", value, "anwserStarts");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsLessThan(String value) {
            addCriterion("anwser_starts <", value, "anwserStarts");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsLessThanOrEqualTo(String value) {
            addCriterion("anwser_starts <=", value, "anwserStarts");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsLike(String value) {
            addCriterion("anwser_starts like", value, "anwserStarts");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsNotLike(String value) {
            addCriterion("anwser_starts not like", value, "anwserStarts");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsIn(List<String> values) {
            addCriterion("anwser_starts in", values, "anwserStarts");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsNotIn(List<String> values) {
            addCriterion("anwser_starts not in", values, "anwserStarts");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsBetween(String value1, String value2) {
            addCriterion("anwser_starts between", value1, value2, "anwserStarts");
            return (Criteria) this;
        }

        public Criteria andAnwserStartsNotBetween(String value1, String value2) {
            addCriterion("anwser_starts not between", value1, value2, "anwserStarts");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineIsNull() {
            addCriterion("question_dead_line is null");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineIsNotNull() {
            addCriterion("question_dead_line is not null");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineEqualTo(String value) {
            addCriterion("question_dead_line =", value, "questionDeadLine");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineNotEqualTo(String value) {
            addCriterion("question_dead_line <>", value, "questionDeadLine");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineGreaterThan(String value) {
            addCriterion("question_dead_line >", value, "questionDeadLine");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineGreaterThanOrEqualTo(String value) {
            addCriterion("question_dead_line >=", value, "questionDeadLine");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineLessThan(String value) {
            addCriterion("question_dead_line <", value, "questionDeadLine");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineLessThanOrEqualTo(String value) {
            addCriterion("question_dead_line <=", value, "questionDeadLine");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineLike(String value) {
            addCriterion("question_dead_line like", value, "questionDeadLine");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineNotLike(String value) {
            addCriterion("question_dead_line not like", value, "questionDeadLine");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineIn(List<String> values) {
            addCriterion("question_dead_line in", values, "questionDeadLine");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineNotIn(List<String> values) {
            addCriterion("question_dead_line not in", values, "questionDeadLine");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineBetween(String value1, String value2) {
            addCriterion("question_dead_line between", value1, value2, "questionDeadLine");
            return (Criteria) this;
        }

        public Criteria andQuestionDeadLineNotBetween(String value1, String value2) {
            addCriterion("question_dead_line not between", value1, value2, "questionDeadLine");
            return (Criteria) this;
        }

        public Criteria andFileStartsIsNull() {
            addCriterion("file_starts is null");
            return (Criteria) this;
        }

        public Criteria andFileStartsIsNotNull() {
            addCriterion("file_starts is not null");
            return (Criteria) this;
        }

        public Criteria andFileStartsEqualTo(String value) {
            addCriterion("file_starts =", value, "fileStarts");
            return (Criteria) this;
        }

        public Criteria andFileStartsNotEqualTo(String value) {
            addCriterion("file_starts <>", value, "fileStarts");
            return (Criteria) this;
        }

        public Criteria andFileStartsGreaterThan(String value) {
            addCriterion("file_starts >", value, "fileStarts");
            return (Criteria) this;
        }

        public Criteria andFileStartsGreaterThanOrEqualTo(String value) {
            addCriterion("file_starts >=", value, "fileStarts");
            return (Criteria) this;
        }

        public Criteria andFileStartsLessThan(String value) {
            addCriterion("file_starts <", value, "fileStarts");
            return (Criteria) this;
        }

        public Criteria andFileStartsLessThanOrEqualTo(String value) {
            addCriterion("file_starts <=", value, "fileStarts");
            return (Criteria) this;
        }

        public Criteria andFileStartsLike(String value) {
            addCriterion("file_starts like", value, "fileStarts");
            return (Criteria) this;
        }

        public Criteria andFileStartsNotLike(String value) {
            addCriterion("file_starts not like", value, "fileStarts");
            return (Criteria) this;
        }

        public Criteria andFileStartsIn(List<String> values) {
            addCriterion("file_starts in", values, "fileStarts");
            return (Criteria) this;
        }

        public Criteria andFileStartsNotIn(List<String> values) {
            addCriterion("file_starts not in", values, "fileStarts");
            return (Criteria) this;
        }

        public Criteria andFileStartsBetween(String value1, String value2) {
            addCriterion("file_starts between", value1, value2, "fileStarts");
            return (Criteria) this;
        }

        public Criteria andFileStartsNotBetween(String value1, String value2) {
            addCriterion("file_starts not between", value1, value2, "fileStarts");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineIsNull() {
            addCriterion("file_dead_line is null");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineIsNotNull() {
            addCriterion("file_dead_line is not null");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineEqualTo(String value) {
            addCriterion("file_dead_line =", value, "fileDeadLine");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineNotEqualTo(String value) {
            addCriterion("file_dead_line <>", value, "fileDeadLine");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineGreaterThan(String value) {
            addCriterion("file_dead_line >", value, "fileDeadLine");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineGreaterThanOrEqualTo(String value) {
            addCriterion("file_dead_line >=", value, "fileDeadLine");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineLessThan(String value) {
            addCriterion("file_dead_line <", value, "fileDeadLine");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineLessThanOrEqualTo(String value) {
            addCriterion("file_dead_line <=", value, "fileDeadLine");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineLike(String value) {
            addCriterion("file_dead_line like", value, "fileDeadLine");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineNotLike(String value) {
            addCriterion("file_dead_line not like", value, "fileDeadLine");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineIn(List<String> values) {
            addCriterion("file_dead_line in", values, "fileDeadLine");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineNotIn(List<String> values) {
            addCriterion("file_dead_line not in", values, "fileDeadLine");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineBetween(String value1, String value2) {
            addCriterion("file_dead_line between", value1, value2, "fileDeadLine");
            return (Criteria) this;
        }

        public Criteria andFileDeadLineNotBetween(String value1, String value2) {
            addCriterion("file_dead_line not between", value1, value2, "fileDeadLine");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsIsNull() {
            addCriterion("apply_file_starts is null");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsIsNotNull() {
            addCriterion("apply_file_starts is not null");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsEqualTo(String value) {
            addCriterion("apply_file_starts =", value, "applyFileStarts");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsNotEqualTo(String value) {
            addCriterion("apply_file_starts <>", value, "applyFileStarts");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsGreaterThan(String value) {
            addCriterion("apply_file_starts >", value, "applyFileStarts");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsGreaterThanOrEqualTo(String value) {
            addCriterion("apply_file_starts >=", value, "applyFileStarts");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsLessThan(String value) {
            addCriterion("apply_file_starts <", value, "applyFileStarts");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsLessThanOrEqualTo(String value) {
            addCriterion("apply_file_starts <=", value, "applyFileStarts");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsLike(String value) {
            addCriterion("apply_file_starts like", value, "applyFileStarts");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsNotLike(String value) {
            addCriterion("apply_file_starts not like", value, "applyFileStarts");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsIn(List<String> values) {
            addCriterion("apply_file_starts in", values, "applyFileStarts");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsNotIn(List<String> values) {
            addCriterion("apply_file_starts not in", values, "applyFileStarts");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsBetween(String value1, String value2) {
            addCriterion("apply_file_starts between", value1, value2, "applyFileStarts");
            return (Criteria) this;
        }

        public Criteria andApplyFileStartsNotBetween(String value1, String value2) {
            addCriterion("apply_file_starts not between", value1, value2, "applyFileStarts");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineIsNull() {
            addCriterion("apply_file_dead_line is null");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineIsNotNull() {
            addCriterion("apply_file_dead_line is not null");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineEqualTo(String value) {
            addCriterion("apply_file_dead_line =", value, "applyFileDeadLine");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineNotEqualTo(String value) {
            addCriterion("apply_file_dead_line <>", value, "applyFileDeadLine");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineGreaterThan(String value) {
            addCriterion("apply_file_dead_line >", value, "applyFileDeadLine");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineGreaterThanOrEqualTo(String value) {
            addCriterion("apply_file_dead_line >=", value, "applyFileDeadLine");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineLessThan(String value) {
            addCriterion("apply_file_dead_line <", value, "applyFileDeadLine");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineLessThanOrEqualTo(String value) {
            addCriterion("apply_file_dead_line <=", value, "applyFileDeadLine");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineLike(String value) {
            addCriterion("apply_file_dead_line like", value, "applyFileDeadLine");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineNotLike(String value) {
            addCriterion("apply_file_dead_line not like", value, "applyFileDeadLine");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineIn(List<String> values) {
            addCriterion("apply_file_dead_line in", values, "applyFileDeadLine");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineNotIn(List<String> values) {
            addCriterion("apply_file_dead_line not in", values, "applyFileDeadLine");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineBetween(String value1, String value2) {
            addCriterion("apply_file_dead_line between", value1, value2, "applyFileDeadLine");
            return (Criteria) this;
        }

        public Criteria andApplyFileDeadLineNotBetween(String value1, String value2) {
            addCriterion("apply_file_dead_line not between", value1, value2, "applyFileDeadLine");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeIsNull() {
            addCriterion("perambulate_meeting_time is null");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeIsNotNull() {
            addCriterion("perambulate_meeting_time is not null");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeEqualTo(String value) {
            addCriterion("perambulate_meeting_time =", value, "perambulateMeetingTime");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeNotEqualTo(String value) {
            addCriterion("perambulate_meeting_time <>", value, "perambulateMeetingTime");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeGreaterThan(String value) {
            addCriterion("perambulate_meeting_time >", value, "perambulateMeetingTime");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeGreaterThanOrEqualTo(String value) {
            addCriterion("perambulate_meeting_time >=", value, "perambulateMeetingTime");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeLessThan(String value) {
            addCriterion("perambulate_meeting_time <", value, "perambulateMeetingTime");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeLessThanOrEqualTo(String value) {
            addCriterion("perambulate_meeting_time <=", value, "perambulateMeetingTime");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeLike(String value) {
            addCriterion("perambulate_meeting_time like", value, "perambulateMeetingTime");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeNotLike(String value) {
            addCriterion("perambulate_meeting_time not like", value, "perambulateMeetingTime");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeIn(List<String> values) {
            addCriterion("perambulate_meeting_time in", values, "perambulateMeetingTime");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeNotIn(List<String> values) {
            addCriterion("perambulate_meeting_time not in", values, "perambulateMeetingTime");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeBetween(String value1, String value2) {
            addCriterion("perambulate_meeting_time between", value1, value2, "perambulateMeetingTime");
            return (Criteria) this;
        }

        public Criteria andPerambulateMeetingTimeNotBetween(String value1, String value2) {
            addCriterion("perambulate_meeting_time not between", value1, value2, "perambulateMeetingTime");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeIsNull() {
            addCriterion("anwser_meeting_time is null");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeIsNotNull() {
            addCriterion("anwser_meeting_time is not null");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeEqualTo(String value) {
            addCriterion("anwser_meeting_time =", value, "anwserMeetingTime");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeNotEqualTo(String value) {
            addCriterion("anwser_meeting_time <>", value, "anwserMeetingTime");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeGreaterThan(String value) {
            addCriterion("anwser_meeting_time >", value, "anwserMeetingTime");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeGreaterThanOrEqualTo(String value) {
            addCriterion("anwser_meeting_time >=", value, "anwserMeetingTime");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeLessThan(String value) {
            addCriterion("anwser_meeting_time <", value, "anwserMeetingTime");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeLessThanOrEqualTo(String value) {
            addCriterion("anwser_meeting_time <=", value, "anwserMeetingTime");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeLike(String value) {
            addCriterion("anwser_meeting_time like", value, "anwserMeetingTime");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeNotLike(String value) {
            addCriterion("anwser_meeting_time not like", value, "anwserMeetingTime");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeIn(List<String> values) {
            addCriterion("anwser_meeting_time in", values, "anwserMeetingTime");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeNotIn(List<String> values) {
            addCriterion("anwser_meeting_time not in", values, "anwserMeetingTime");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeBetween(String value1, String value2) {
            addCriterion("anwser_meeting_time between", value1, value2, "anwserMeetingTime");
            return (Criteria) this;
        }

        public Criteria andAnwserMeetingTimeNotBetween(String value1, String value2) {
            addCriterion("anwser_meeting_time not between", value1, value2, "anwserMeetingTime");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeIsNull() {
            addCriterion("next_deal_notice_time is null");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeIsNotNull() {
            addCriterion("next_deal_notice_time is not null");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeEqualTo(String value) {
            addCriterion("next_deal_notice_time =", value, "nextDealNoticeTime");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeNotEqualTo(String value) {
            addCriterion("next_deal_notice_time <>", value, "nextDealNoticeTime");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeGreaterThan(String value) {
            addCriterion("next_deal_notice_time >", value, "nextDealNoticeTime");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeGreaterThanOrEqualTo(String value) {
            addCriterion("next_deal_notice_time >=", value, "nextDealNoticeTime");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeLessThan(String value) {
            addCriterion("next_deal_notice_time <", value, "nextDealNoticeTime");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeLessThanOrEqualTo(String value) {
            addCriterion("next_deal_notice_time <=", value, "nextDealNoticeTime");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeLike(String value) {
            addCriterion("next_deal_notice_time like", value, "nextDealNoticeTime");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeNotLike(String value) {
            addCriterion("next_deal_notice_time not like", value, "nextDealNoticeTime");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeIn(List<String> values) {
            addCriterion("next_deal_notice_time in", values, "nextDealNoticeTime");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeNotIn(List<String> values) {
            addCriterion("next_deal_notice_time not in", values, "nextDealNoticeTime");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeBetween(String value1, String value2) {
            addCriterion("next_deal_notice_time between", value1, value2, "nextDealNoticeTime");
            return (Criteria) this;
        }

        public Criteria andNextDealNoticeTimeNotBetween(String value1, String value2) {
            addCriterion("next_deal_notice_time not between", value1, value2, "nextDealNoticeTime");
            return (Criteria) this;
        }

        public Criteria andBidStartsIsNull() {
            addCriterion("bid_starts is null");
            return (Criteria) this;
        }

        public Criteria andBidStartsIsNotNull() {
            addCriterion("bid_starts is not null");
            return (Criteria) this;
        }

        public Criteria andBidStartsEqualTo(String value) {
            addCriterion("bid_starts =", value, "bidStarts");
            return (Criteria) this;
        }

        public Criteria andBidStartsNotEqualTo(String value) {
            addCriterion("bid_starts <>", value, "bidStarts");
            return (Criteria) this;
        }

        public Criteria andBidStartsGreaterThan(String value) {
            addCriterion("bid_starts >", value, "bidStarts");
            return (Criteria) this;
        }

        public Criteria andBidStartsGreaterThanOrEqualTo(String value) {
            addCriterion("bid_starts >=", value, "bidStarts");
            return (Criteria) this;
        }

        public Criteria andBidStartsLessThan(String value) {
            addCriterion("bid_starts <", value, "bidStarts");
            return (Criteria) this;
        }

        public Criteria andBidStartsLessThanOrEqualTo(String value) {
            addCriterion("bid_starts <=", value, "bidStarts");
            return (Criteria) this;
        }

        public Criteria andBidStartsLike(String value) {
            addCriterion("bid_starts like", value, "bidStarts");
            return (Criteria) this;
        }

        public Criteria andBidStartsNotLike(String value) {
            addCriterion("bid_starts not like", value, "bidStarts");
            return (Criteria) this;
        }

        public Criteria andBidStartsIn(List<String> values) {
            addCriterion("bid_starts in", values, "bidStarts");
            return (Criteria) this;
        }

        public Criteria andBidStartsNotIn(List<String> values) {
            addCriterion("bid_starts not in", values, "bidStarts");
            return (Criteria) this;
        }

        public Criteria andBidStartsBetween(String value1, String value2) {
            addCriterion("bid_starts between", value1, value2, "bidStarts");
            return (Criteria) this;
        }

        public Criteria andBidStartsNotBetween(String value1, String value2) {
            addCriterion("bid_starts not between", value1, value2, "bidStarts");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineIsNull() {
            addCriterion("bid_dead_line is null");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineIsNotNull() {
            addCriterion("bid_dead_line is not null");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineEqualTo(String value) {
            addCriterion("bid_dead_line =", value, "bidDeadLine");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineNotEqualTo(String value) {
            addCriterion("bid_dead_line <>", value, "bidDeadLine");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineGreaterThan(String value) {
            addCriterion("bid_dead_line >", value, "bidDeadLine");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineGreaterThanOrEqualTo(String value) {
            addCriterion("bid_dead_line >=", value, "bidDeadLine");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineLessThan(String value) {
            addCriterion("bid_dead_line <", value, "bidDeadLine");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineLessThanOrEqualTo(String value) {
            addCriterion("bid_dead_line <=", value, "bidDeadLine");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineLike(String value) {
            addCriterion("bid_dead_line like", value, "bidDeadLine");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineNotLike(String value) {
            addCriterion("bid_dead_line not like", value, "bidDeadLine");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineIn(List<String> values) {
            addCriterion("bid_dead_line in", values, "bidDeadLine");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineNotIn(List<String> values) {
            addCriterion("bid_dead_line not in", values, "bidDeadLine");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineBetween(String value1, String value2) {
            addCriterion("bid_dead_line between", value1, value2, "bidDeadLine");
            return (Criteria) this;
        }

        public Criteria andBidDeadLineNotBetween(String value1, String value2) {
            addCriterion("bid_dead_line not between", value1, value2, "bidDeadLine");
            return (Criteria) this;
        }

        public Criteria andOpenTimeIsNull() {
            addCriterion("open_time is null");
            return (Criteria) this;
        }

        public Criteria andOpenTimeIsNotNull() {
            addCriterion("open_time is not null");
            return (Criteria) this;
        }

        public Criteria andOpenTimeEqualTo(String value) {
            addCriterion("open_time =", value, "openTime");
            return (Criteria) this;
        }

        public Criteria andOpenTimeNotEqualTo(String value) {
            addCriterion("open_time <>", value, "openTime");
            return (Criteria) this;
        }

        public Criteria andOpenTimeGreaterThan(String value) {
            addCriterion("open_time >", value, "openTime");
            return (Criteria) this;
        }

        public Criteria andOpenTimeGreaterThanOrEqualTo(String value) {
            addCriterion("open_time >=", value, "openTime");
            return (Criteria) this;
        }

        public Criteria andOpenTimeLessThan(String value) {
            addCriterion("open_time <", value, "openTime");
            return (Criteria) this;
        }

        public Criteria andOpenTimeLessThanOrEqualTo(String value) {
            addCriterion("open_time <=", value, "openTime");
            return (Criteria) this;
        }

        public Criteria andOpenTimeLike(String value) {
            addCriterion("open_time like", value, "openTime");
            return (Criteria) this;
        }

        public Criteria andOpenTimeNotLike(String value) {
            addCriterion("open_time not like", value, "openTime");
            return (Criteria) this;
        }

        public Criteria andOpenTimeIn(List<String> values) {
            addCriterion("open_time in", values, "openTime");
            return (Criteria) this;
        }

        public Criteria andOpenTimeNotIn(List<String> values) {
            addCriterion("open_time not in", values, "openTime");
            return (Criteria) this;
        }

        public Criteria andOpenTimeBetween(String value1, String value2) {
            addCriterion("open_time between", value1, value2, "openTime");
            return (Criteria) this;
        }

        public Criteria andOpenTimeNotBetween(String value1, String value2) {
            addCriterion("open_time not between", value1, value2, "openTime");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeIsNull() {
            addCriterion("bid_evaluation_time is null");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeIsNotNull() {
            addCriterion("bid_evaluation_time is not null");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeEqualTo(String value) {
            addCriterion("bid_evaluation_time =", value, "bidEvaluationTime");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeNotEqualTo(String value) {
            addCriterion("bid_evaluation_time <>", value, "bidEvaluationTime");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeGreaterThan(String value) {
            addCriterion("bid_evaluation_time >", value, "bidEvaluationTime");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeGreaterThanOrEqualTo(String value) {
            addCriterion("bid_evaluation_time >=", value, "bidEvaluationTime");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeLessThan(String value) {
            addCriterion("bid_evaluation_time <", value, "bidEvaluationTime");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeLessThanOrEqualTo(String value) {
            addCriterion("bid_evaluation_time <=", value, "bidEvaluationTime");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeLike(String value) {
            addCriterion("bid_evaluation_time like", value, "bidEvaluationTime");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeNotLike(String value) {
            addCriterion("bid_evaluation_time not like", value, "bidEvaluationTime");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeIn(List<String> values) {
            addCriterion("bid_evaluation_time in", values, "bidEvaluationTime");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeNotIn(List<String> values) {
            addCriterion("bid_evaluation_time not in", values, "bidEvaluationTime");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeBetween(String value1, String value2) {
            addCriterion("bid_evaluation_time between", value1, value2, "bidEvaluationTime");
            return (Criteria) this;
        }

        public Criteria andBidEvaluationTimeNotBetween(String value1, String value2) {
            addCriterion("bid_evaluation_time not between", value1, value2, "bidEvaluationTime");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeIsNull() {
            addCriterion("candidate_publicity_time is null");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeIsNotNull() {
            addCriterion("candidate_publicity_time is not null");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeEqualTo(String value) {
            addCriterion("candidate_publicity_time =", value, "candidatePublicityTime");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeNotEqualTo(String value) {
            addCriterion("candidate_publicity_time <>", value, "candidatePublicityTime");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeGreaterThan(String value) {
            addCriterion("candidate_publicity_time >", value, "candidatePublicityTime");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeGreaterThanOrEqualTo(String value) {
            addCriterion("candidate_publicity_time >=", value, "candidatePublicityTime");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeLessThan(String value) {
            addCriterion("candidate_publicity_time <", value, "candidatePublicityTime");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeLessThanOrEqualTo(String value) {
            addCriterion("candidate_publicity_time <=", value, "candidatePublicityTime");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeLike(String value) {
            addCriterion("candidate_publicity_time like", value, "candidatePublicityTime");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeNotLike(String value) {
            addCriterion("candidate_publicity_time not like", value, "candidatePublicityTime");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeIn(List<String> values) {
            addCriterion("candidate_publicity_time in", values, "candidatePublicityTime");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeNotIn(List<String> values) {
            addCriterion("candidate_publicity_time not in", values, "candidatePublicityTime");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeBetween(String value1, String value2) {
            addCriterion("candidate_publicity_time between", value1, value2, "candidatePublicityTime");
            return (Criteria) this;
        }

        public Criteria andCandidatePublicityTimeNotBetween(String value1, String value2) {
            addCriterion("candidate_publicity_time not between", value1, value2, "candidatePublicityTime");
            return (Criteria) this;
        }

        public Criteria andSelectTimeIsNull() {
            addCriterion("select_time is null");
            return (Criteria) this;
        }

        public Criteria andSelectTimeIsNotNull() {
            addCriterion("select_time is not null");
            return (Criteria) this;
        }

        public Criteria andSelectTimeEqualTo(String value) {
            addCriterion("select_time =", value, "selectTime");
            return (Criteria) this;
        }

        public Criteria andSelectTimeNotEqualTo(String value) {
            addCriterion("select_time <>", value, "selectTime");
            return (Criteria) this;
        }

        public Criteria andSelectTimeGreaterThan(String value) {
            addCriterion("select_time >", value, "selectTime");
            return (Criteria) this;
        }

        public Criteria andSelectTimeGreaterThanOrEqualTo(String value) {
            addCriterion("select_time >=", value, "selectTime");
            return (Criteria) this;
        }

        public Criteria andSelectTimeLessThan(String value) {
            addCriterion("select_time <", value, "selectTime");
            return (Criteria) this;
        }

        public Criteria andSelectTimeLessThanOrEqualTo(String value) {
            addCriterion("select_time <=", value, "selectTime");
            return (Criteria) this;
        }

        public Criteria andSelectTimeLike(String value) {
            addCriterion("select_time like", value, "selectTime");
            return (Criteria) this;
        }

        public Criteria andSelectTimeNotLike(String value) {
            addCriterion("select_time not like", value, "selectTime");
            return (Criteria) this;
        }

        public Criteria andSelectTimeIn(List<String> values) {
            addCriterion("select_time in", values, "selectTime");
            return (Criteria) this;
        }

        public Criteria andSelectTimeNotIn(List<String> values) {
            addCriterion("select_time not in", values, "selectTime");
            return (Criteria) this;
        }

        public Criteria andSelectTimeBetween(String value1, String value2) {
            addCriterion("select_time between", value1, value2, "selectTime");
            return (Criteria) this;
        }

        public Criteria andSelectTimeNotBetween(String value1, String value2) {
            addCriterion("select_time not between", value1, value2, "selectTime");
            return (Criteria) this;
        }

        public Criteria andSyncTypeIsNull() {
            addCriterion("sync_type is null");
            return (Criteria) this;
        }

        public Criteria andSyncTypeIsNotNull() {
            addCriterion("sync_type is not null");
            return (Criteria) this;
        }

        public Criteria andSyncTypeEqualTo(String value) {
            addCriterion("sync_type =", value, "syncType");
            return (Criteria) this;
        }

        public Criteria andSyncTypeNotEqualTo(String value) {
            addCriterion("sync_type <>", value, "syncType");
            return (Criteria) this;
        }

        public Criteria andSyncTypeGreaterThan(String value) {
            addCriterion("sync_type >", value, "syncType");
            return (Criteria) this;
        }

        public Criteria andSyncTypeGreaterThanOrEqualTo(String value) {
            addCriterion("sync_type >=", value, "syncType");
            return (Criteria) this;
        }

        public Criteria andSyncTypeLessThan(String value) {
            addCriterion("sync_type <", value, "syncType");
            return (Criteria) this;
        }

        public Criteria andSyncTypeLessThanOrEqualTo(String value) {
            addCriterion("sync_type <=", value, "syncType");
            return (Criteria) this;
        }

        public Criteria andSyncTypeLike(String value) {
            addCriterion("sync_type like", value, "syncType");
            return (Criteria) this;
        }

        public Criteria andSyncTypeNotLike(String value) {
            addCriterion("sync_type not like", value, "syncType");
            return (Criteria) this;
        }

        public Criteria andSyncTypeIn(List<String> values) {
            addCriterion("sync_type in", values, "syncType");
            return (Criteria) this;
        }

        public Criteria andSyncTypeNotIn(List<String> values) {
            addCriterion("sync_type not in", values, "syncType");
            return (Criteria) this;
        }

        public Criteria andSyncTypeBetween(String value1, String value2) {
            addCriterion("sync_type between", value1, value2, "syncType");
            return (Criteria) this;
        }

        public Criteria andSyncTypeNotBetween(String value1, String value2) {
            addCriterion("sync_type not between", value1, value2, "syncType");
            return (Criteria) this;
        }

        public Criteria andInsertTimeIsNull() {
            addCriterion("insert_time is null");
            return (Criteria) this;
        }

        public Criteria andInsertTimeIsNotNull() {
            addCriterion("insert_time is not null");
            return (Criteria) this;
        }

        public Criteria andInsertTimeEqualTo(String value) {
            addCriterion("insert_time =", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeNotEqualTo(String value) {
            addCriterion("insert_time <>", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeGreaterThan(String value) {
            addCriterion("insert_time >", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeGreaterThanOrEqualTo(String value) {
            addCriterion("insert_time >=", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeLessThan(String value) {
            addCriterion("insert_time <", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeLessThanOrEqualTo(String value) {
            addCriterion("insert_time <=", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeLike(String value) {
            addCriterion("insert_time like", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeNotLike(String value) {
            addCriterion("insert_time not like", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeIn(List<String> values) {
            addCriterion("insert_time in", values, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeNotIn(List<String> values) {
            addCriterion("insert_time not in", values, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeBetween(String value1, String value2) {
            addCriterion("insert_time between", value1, value2, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeNotBetween(String value1, String value2) {
            addCriterion("insert_time not between", value1, value2, "insertTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(String value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(String value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(String value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(String value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(String value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(String value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLike(String value) {
            addCriterion("update_time like", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotLike(String value) {
            addCriterion("update_time not like", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<String> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<String> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(String value1, String value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(String value1, String value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeIsNull() {
            addCriterion("sync_time is null");
            return (Criteria) this;
        }

        public Criteria andSyncTimeIsNotNull() {
            addCriterion("sync_time is not null");
            return (Criteria) this;
        }

        public Criteria andSyncTimeEqualTo(String value) {
            addCriterion("sync_time =", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeNotEqualTo(String value) {
            addCriterion("sync_time <>", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeGreaterThan(String value) {
            addCriterion("sync_time >", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeGreaterThanOrEqualTo(String value) {
            addCriterion("sync_time >=", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeLessThan(String value) {
            addCriterion("sync_time <", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeLessThanOrEqualTo(String value) {
            addCriterion("sync_time <=", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeLike(String value) {
            addCriterion("sync_time like", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeNotLike(String value) {
            addCriterion("sync_time not like", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeIn(List<String> values) {
            addCriterion("sync_time in", values, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeNotIn(List<String> values) {
            addCriterion("sync_time not in", values, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeBetween(String value1, String value2) {
            addCriterion("sync_time between", value1, value2, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeNotBetween(String value1, String value2) {
            addCriterion("sync_time not between", value1, value2, "syncTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}